;--------------------------------------------------------
; File Created by ChiponCC : aolisn inc.
; Version 3.0.4#6752 (Jul  6 2017 15:09:47) (MSVC)
; This file was generated Tue Apr 03 20:31:53 2018
;--------------------------------------------------------
; chipon port for the 16-bit core
;--------------------------------------------------------
;	.file	"../kf8spts2w_lib_touch_lib.c"
	.radix dec
	.include "KF8TS2508.inc"
;--------------------------------------------------------
; external declarations
;--------------------------------------------------------
	.extern	_init_mcu
	.extern	_Pmw1InitFun
	.extern	_T0InitFun
	.extern	__R2PCL
	.extern	_TOUCH_DEBUG_TRS_DEAL
	.extern	_TOUCH_DEBUG_TRS_BAIHUALV
	.extern	_TOUCH_DEBUG_SEND_OUT
	.extern	_delay_ms
	.extern	_delay_us
	.extern	__mulint
	.extern	__divuint
	.extern	_PSW_bits
	.extern	_P0_bits
	.extern	_P2_bits
	.extern	_P1_bits
	.extern	_PCH_bits
	.extern	_INTCTL_bits
	.extern	_EIF1_bits
	.extern	_EIF2_bits
	.extern	_T1CTL_bits
	.extern	_PWMCTL_bits
	.extern	_BANK_bits
	.extern	_ADSCANCTL_bits
	.extern	_VDACS_bits
	.extern	_ANSEH_bits
	.extern	_ADCCTL0_bits
	.extern	_OPTR_bits
	.extern	_IP0_bits
	.extern	_IP1_bits
	.extern	_IP2_bits
	.extern	_TR0_bits
	.extern	_TR2_bits
	.extern	_TR1_bits
	.extern	_OSCSTA_bits
	.extern	_IP3_bits
	.extern	_VRECTL_bits
	.extern	_EIE1_bits
	.extern	_EIE2_bits
	.extern	_PCTL_bits
	.extern	_OSCCTL_bits
	.extern	_ANSEL_bits
	.extern	_PUR0_bits
	.extern	_IOCL_bits
	.extern	_ADCCTL1_bits
	.extern	_P0LR_bits
	.extern	_P2LR_bits
	.extern	_P1LR_bits
	.extern	_EIE3_bits
	.extern	_EIF3_bits
	.extern	_T3CTL_bits
	.extern	_CTCTL0_bits
	.extern	_ADCINTCTL_bits
	.extern	_PUR1_bits
	.extern	_PUR2_bits
	.extern	_CTCTL1_bits
	.extern	_INTEDGCTL_bits
	.extern	_VDAC_bits
	.extern	_VRES_bits
	.extern	_SSCICTL0_bits
	.extern	_SSCICTL1_bits
	.extern	_SSCISTA_bits
	.extern	_SSCIADD_bits
	.extern	_SSCIMSK_bits
	.extern	_WDTPS_bits
	.extern	_CTCTL2_bits
	.extern	_T4CTL_bits
	.extern	_sentbuf1
	.extern	_sentbuf2
	.extern	_sentbuf3
	.extern	_sentbuf4
	.extern	_Flag
	.extern	_AlarmFlag
	.extern	_CurrentAdjustNum
	.extern	_KeyDownNum
	.extern	_Time20MScnt
	.extern	_V_NoWatercnt
	.extern	_AdjustOvercnt
	.extern	_NoWaterTimecnt
	.extern	_main_cnt
	.extern	_SubNum
	.extern	_AD_temp_V
	.extern	_AD_temp_I
	.extern	_AD_V
	.extern	_AD_I
	.extern	_AD_cnt
	.extern	_Power
	.extern	_LEDFre
	.extern	_CurrentShortCnt
	.extern	_I_NoWatercnt
	.extern	_cnt
	.extern	_keycnt
	.extern	_keycnttime
	.extern	__KF8_Disturb_Protect_Circle_
	.extern	__KF8_Up_BaseLine_Circle_
	.extern	__KF8_LIBi_channel_flag_
	.extern	__KF8_LIBi_Date_Change_
	.extern	__KF8_LIBc_channel_
	.extern	__KF8_LIBi_buff_hit_
	.extern	__KF8_LIBi_buff_baseline_
	.extern	__KF8_LIBi_buff_refline_
	.extern	__KF8_LIBc_touch_count_
	.extern	_CHS_AMOUNT
	.extern	_TCS_AMOUNT
	.extern	__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_
	.extern	__KF8_Disturb_Protect_Circle_Define
	.extern	__KF8_Up_BaseLine_Circle_Define
	.extern	__KF8_Inside_Reference_Channel_Order
	.extern	__KF8_Config_Finger_Threshold
	.extern	_CONFIG_NO_FINGER_THRESHOLD
	.extern	__KF8_TOUCH_CH_EN
	.extern	_T0
	.extern	_PCL
	.extern	_PSW
	.extern	_P0
	.extern	_P2
	.extern	_P1
	.extern	_PCH
	.extern	_INTCTL
	.extern	_EIF1
	.extern	_EIF2
	.extern	_T1L
	.extern	_T1H
	.extern	_T1CTL
	.extern	_PWM1L
	.extern	_PWMCTL
	.extern	_PP1
	.extern	_BANK
	.extern	_ADSCANCTL
	.extern	_VDACS
	.extern	_ANSEH
	.extern	_ADCDATA0H
	.extern	_ADCCTL0
	.extern	_OPTR
	.extern	_IP0
	.extern	_IP1
	.extern	_IP2
	.extern	_TR0
	.extern	_TR2
	.extern	_TR1
	.extern	_OSCSTA
	.extern	_IP3
	.extern	_VRECAL1
	.extern	_VRECTL
	.extern	_EIE1
	.extern	_EIE2
	.extern	_PCTL
	.extern	_OSCCTL
	.extern	_OSCCAL0
	.extern	_ANSEL
	.extern	_PP2
	.extern	_PWM2L
	.extern	_PUR0
	.extern	_IOCL
	.extern	_OSCCAL1
	.extern	_NVMDATAH
	.extern	_NVMDATAL
	.extern	_NVMADDRH
	.extern	_NVMADDRL
	.extern	_NVMCTL0
	.extern	_NVMCTL1
	.extern	_ADCDATA0L
	.extern	_ADCCTL1
	.extern	_P0LR
	.extern	_P2LR
	.extern	_P1LR
	.extern	_EIE3
	.extern	_EIF3
	.extern	_OSCCAL2
	.extern	_OSCCAL3
	.extern	_T3CTL
	.extern	_T3L
	.extern	_ADCDATA1H
	.extern	_ADCDATA1L
	.extern	_CTCTL0
	.extern	_ADCINTCTL
	.extern	_ADCDATA2H
	.extern	_ADCDATA2L
	.extern	_ADCDATA3H
	.extern	_T3H
	.extern	_PUR1
	.extern	_PUR2
	.extern	_CTCTL1
	.extern	_INTEDGCTL
	.extern	_ADCDATA3L
	.extern	_VDAC
	.extern	_VRES
	.extern	_SSCICTL0
	.extern	_SSCICTL1
	.extern	_SSCISTA
	.extern	_SSCIBUFR
	.extern	_SSCIADD
	.extern	_SSCIMSK
	.extern	_WDTPS
	.extern	_VRECAL2
	.extern	_VRECAL3
	.extern	_CTCTL2
	.extern	_T4L
	.extern	_T4H
	.extern	_T4REL
	.extern	_T4REH
	.extern	_T4CTL
	.extern	_RC32KCAL

	.extern I0R1
	.extern I0R7
	.extern I0PSW
	.extern I0PCH
	.extern I1R1
	.extern I1R7
	.extern I1PSW
	.extern I1PCH
	.extern STK11
	.extern STK10
	.extern STK09
	.extern STK08
	.extern STK07
	.extern STK06
	.extern STK05
	.extern STK04
	.extern STK03
	.extern STK02
	.extern STK01
	.extern STK00
;--------------------------------------------------------
; global declarations
;--------------------------------------------------------
	.global	__KF8spts2w_LIBf_touch_process_
	.global	__KF8spts2w_LIBf_init_touch_
	.global	__KF8spts2w_Lib_SET_MCU_Parameter
	.global	_write_eep_ts2w_
	.global	_read_data_eep_ts2w_
	.global	__KF8spts2w_Lib_BaseLine_Reget_
	.global	__KF8spts2w_Lib_DateChange_get_
	.global	__KF8spts2w_LIBf_scan_channel_
	.global	__KF8spts2w_Get_Ver_WaterLevel_
	.global	__KF8_lib_bahualvtemportemp_TS2W_
	.global	_ii_buf_TS2W_
	.global	_Date_Save_Buf_TS2W_
	.global	__KF8_lib_Date_Uchar_Temp_TS2W_
	.global	__KF8_LIBi_Touch_New_Date_TS2W_
	.global	_change_buf_TS2W_
	.global	__KF8_Temp_Cur_A_TS2W_
	.global	__KF8_Temp_Cur_B_TS2W_
	.global	_eeprom_data_TS2W_
	.global	_Arr_erom_TS2W_
	.global	_Arr_erom_TS2W_Check
	.global	_oscctlbuf_TS2W_
	.global	_intctlbuf_TS2W_
	.global	__KF8_LIBt_buff_bit_TS2W_

;--------------------------------------------------------
; global definitions
;--------------------------------------------------------
UD_kf8spts2w_lib_touch_lib_0	.udata
__KF8_Touch_Bits_	.res	1

UD_kf8spts2w_lib_touch_lib_1	.udata
__KF8_lib_bahualvtemportemp_TS2W_	.res	2

UD_kf8spts2w_lib_touch_lib_2	.udata
_ii_buf_TS2W_	.res	1

UD_kf8spts2w_lib_touch_lib_3	.udata
_Date_Save_Buf_TS2W_	.res	1

UD_kf8spts2w_lib_touch_lib_4	.udata
__KF8_lib_Date_Uchar_Temp_TS2W_	.res	1

UD_kf8spts2w_lib_touch_lib_5	.udata
__KF8_LIBi_Touch_New_Date_TS2W_	.res	2

UD_kf8spts2w_lib_touch_lib_6	.udata
_change_buf_TS2W_	.res	2

UD_kf8spts2w_lib_touch_lib_7	.udata
__KF8_Temp_Cur_A_TS2W_	.res	2

UD_kf8spts2w_lib_touch_lib_8	.udata
__KF8_Temp_Cur_B_TS2W_	.res	2

UD_kf8spts2w_lib_touch_lib_9	.udata
_eeprom_data_TS2W_	.res	2

UD_kf8spts2w_lib_touch_lib_10	.udata
_Arr_erom_TS2W_	.res	32

UD_kf8spts2w_lib_touch_lib_11	.udata
_Arr_erom_TS2W_Check	.res	32

UD_kf8spts2w_lib_touch_lib_12	.udata
_oscctlbuf_TS2W_	.res	1

UD_kf8spts2w_lib_touch_lib_13	.udata
_intctlbuf_TS2W_	.res	1

;--------------------------------------------------------
; absolute symbol definitions
;--------------------------------------------------------
;--------------------------------------------------------
; compiler-defined variables
;--------------------------------------------------------
UDL_kf8spts2w_lib_touch_lib_0	.udata
r0x1017	.res	1
UDL_kf8spts2w_lib_touch_lib_1	.udata
r0x1018	.res	1
UDL_kf8spts2w_lib_touch_lib_2	.udata
r0x101A	.res	1
UDL_kf8spts2w_lib_touch_lib_3	.udata
r0x1019	.res	1
;--------------------------------------------------------
; initialized data
;--------------------------------------------------------

ID_kf8spts2w_lib_touch_lib_0	.code
__KF8_LIBt_buff_bit_TS2W_
	RRET R0, #0x01
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x02
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x04
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x08
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x10
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x20
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x40
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x80
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x01
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x02
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x04
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x08
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x10
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x20
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x40
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x80
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x01
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x02
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x04
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x08
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x10
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x20
	RRET R0, #0x00

;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
;	.udata_ovr


func.__KF8spts2w_Get_Ver_WaterLevel_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8spts2w_Get_Ver_WaterLevel_	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8spts2w_Get_Ver_WaterLevel_	;Function start
; 2 exit points
;	op : RETURN
;	.line	2603; "../kf8spts2w_lib_touch_lib.c"	return Ver_SP_TS2_W;
	MOV	R0,# 0xf3
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8spts2w_Get_Ver_WaterLevel_



func.__KF8spts2w_LIBf_touch_process_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8spts2w_LIBf_touch_process_	;Function start
; 2 exit points
;has an exit
;functions called:
;   _read_data_eep_ts2w_
;   _write_eep_ts2w_
;   __KF8spts2w_Lib_DateChange_get_
;   __KF8spts2w_Lib_BaseLine_Reget_
;   __KF8spts2w_LIBf_scan_channel_
;   _read_data_eep_ts2w_
;   _write_eep_ts2w_
;   __KF8spts2w_Lib_DateChange_get_
;   __KF8spts2w_Lib_BaseLine_Reget_
;   __KF8spts2w_LIBf_scan_channel_
;1 compiler assigned register :
;   r0x1019
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8spts2w_LIBf_touch_process_	;Function start
; 2 exit points
;	op : INLINEASM
	BANKSEL __KF8_Touch_Bits_
	JB __KF8_Touch_Bits_,4 ;
	JMP GET_DATE_USE_T4
	BANKSEL _T3H
	MOV R1,_T3H
	BANKSEL _T3L
	MOV R0,T3L
	JMP GET_DATE_IN_VAR_END
GET_DATE_USE_T4:
	BANKSEL _T4H
	MOV R1,_T4H
	BANKSEL _T4L
	MOV R0,_T4L
GET_DATE_IN_VAR_END:
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R1
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	
;	op : INLINEASM
	;;---------------------------------
	;;==
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBi_buff_hit_+0)
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0 ;
	;;==
	MOV R0,#(4)
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	ADD __KF8_LIBi_Touch_New_Date_TS2W_,R0
	JNB PSW,0
	INC __KF8_LIBi_Touch_New_Date_TS2W_+1
	;;==;
	MOV R0,#3
	INC R0
	JMP IIR_Deal_NEXT_1
IIR_Deal_DO_1:
	CLR PSW,0
	RRC __KF8_LIBi_Touch_New_Date_TS2W_+1
	RRC __KF8_LIBi_Touch_New_Date_TS2W_
IIR_Deal_NEXT_1:
	DECJZ R0
	JMP IIR_Deal_DO_1
	;;-----------------------------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0, _Date_Save_Buf_TS2W_
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV __KF8_Temp_Cur_A_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV __KF8_Temp_Cur_A_TS2W_+1,R1 ;
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV R0,__KF8_Temp_Cur_A_TS2W_
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV __KF8_Temp_Cur_B_TS2W_,R0
	MOV __KF8_Temp_Cur_B_TS2W_+1,R1 ;
	;;==
	MOV R0,#(4)
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	ADD __KF8_Temp_Cur_B_TS2W_,R0
	JNB PSW,0
	INC __KF8_Temp_Cur_B_TS2W_+1
	;;==;
	MOV R0,#3
	INC R0
	JMP IIR_Deal_NEXT_2
IIR_Deal_DO_2:
	CLR PSW,0
	RRC __KF8_Temp_Cur_B_TS2W_+1
	RRC __KF8_Temp_Cur_B_TS2W_
IIR_Deal_NEXT_2:
	DECJZ R0
	JMP IIR_Deal_DO_2 ;
	MOV R0,__KF8_Temp_Cur_B_TS2W_
	MOV R1,__KF8_Temp_Cur_B_TS2W_+1
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	SUB __KF8_Temp_Cur_A_TS2W_,R0
	JB PSW,0
	DEC __KF8_Temp_Cur_A_TS2W_+1
	SUB __KF8_Temp_Cur_A_TS2W_+1,R1
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV R1,__KF8_LIBi_Touch_New_Date_TS2W_+1
	MOV R0,__KF8_LIBi_Touch_New_Date_TS2W_
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	ADD __KF8_Temp_Cur_A_TS2W_,R0
	JNB PSW,0
	INC R1
	ADD __KF8_Temp_Cur_A_TS2W_+1,R1 ;
	MOV R1,__KF8_Temp_Cur_A_TS2W_
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	BANKSEL __KF8_LIBi_buff_hit_
	ST[R0],R1
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV R1,__KF8_Temp_Cur_A_TS2W_+1
	INC R0
	BANKSEL __KF8_LIBi_buff_hit_
	ST[R0],R1
	;;-----------------------------------
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	2224; "../kf8spts2w_lib_touch_lib.c"	if(!_KF8_Touch_Bits_._KF8_Touch_Work_Flag)
	BANKSEL	__KF8_Touch_Bits_
	JNB	__KF8_Touch_Bits_, 0
	JMP	_00074_DS_
;	op : INLINEASM
	MOV R0,#0xF0
	DECJZ R0
	JMP $-1
	
;	op : LEFT_OP
;	.line	2232; "../kf8spts2w_lib_touch_lib.c"	_KF8_LIBc_touch_count_[_KF8_LIBc_channel_]=0;	    // ϼ
	CLR	PSW, 0
	BANKSEL	__KF8_LIBc_channel_
	RLCR	__KF8_LIBc_channel_
	BANKSEL	r0x1019
	MOV	r0x1019, R0
;	op : +
	MOV	R0,# (__KF8_LIBc_touch_count_ + 0)
	BANKSEL	r0x1019
	ADD	r0x1019, R0
;	op : =
	MOV	R0,# 0x00
	BANKSEL	r0x1019
	MOV	R1, r0x1019
	BANKSEL	__KF8_LIBc_touch_count_
	ST	[R1], R0
	INC	R1
	MOV	R0,# 0x00
	BANKSEL	__KF8_LIBc_touch_count_
	ST	[R1], R0
;	op : IFX
;	.line	2234; "../kf8spts2w_lib_touch_lib.c"	if(_KF8_LIBc_channel_==0)
	MOV	R0,# 0x00
	BANKSEL	__KF8_LIBc_channel_
	ORL	R0, __KF8_LIBc_channel_
	JB	PSW, 2
	JMP	_00075_DS_
;	op : +
;	.line	2236; "../kf8spts2w_lib_touch_lib.c"	ii_buf_TS2W_++;
	BANKSEL	_ii_buf_TS2W_
	INC	_ii_buf_TS2W_
;	op : >
;swapping arguments (AOP_TYPEs 1/3)
;unsigned compare: left >= lit(0x79=121), size=1
;	.line	2237; "../kf8spts2w_lib_touch_lib.c"	if(ii_buf_TS2W_>120) //ÿɨ1ȦһΣnȦ빤״̬
	MOV	R0,# 0x79
	BANKSEL	_ii_buf_TS2W_
	SUB	R0, _ii_buf_TS2W_
;comparing bytes at offset 0
	JB	PSW, 0
	JMP	_00075_DS_
;	op : =
;	.line	2239; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Work_Flag=1;  //빤״̬
	BANKSEL	__KF8_Touch_Bits_
	SET	__KF8_Touch_Bits_, 0
;	op : CALL
;	.line	2240; "../kf8spts2w_lib_touch_lib.c"	read_data_eep_ts2w_();
	PAGESEL	_read_data_eep_ts2w_
	CALL	_read_data_eep_ts2w_
	PAGESEL	$
;	op : INLINEASM
	BANKSEL _ii_buf_TS2W_
	CLR _ii_buf_TS2W_
FOR_NEXT_DO_1:
	MOV R1,# high (_CHS_AMOUNT+0)
	MOV R0,# low (_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL _ii_buf_TS2W_
	MOV R1,_ii_buf_TS2W_
	SUB R0,R1 ;
	JNB PSW,0 ;
	JMP FOR_NEXT_DO_1_End
	;
	CLR PSW,0
	RLC R1 ;
	ADD R1,#(_Arr_erom_TS2W_+1)
	BANKSEL _Arr_erom_TS2W_
	LD R0,[R1]
	BANKSEL _eeprom_data_TS2W_
	MOV (_eeprom_data_TS2W_+1),R0
	DEC R1
	BANKSEL _Arr_erom_TS2W_
	LD R0,[R1]
	BANKSEL _eeprom_data_TS2W_
	MOV (_eeprom_data_TS2W_),R0 ;
	;;--------------------
	BANKSEL _ii_buf_TS2W_
	MOV R1,_ii_buf_TS2W_
	CLR PSW,0
	RLC R1 ;
	ADD R1,#__KF8_LIBi_buff_refline_
	BANKSEL _eeprom_data_TS2W_
	MOV R0,_eeprom_data_TS2W_
	BANKSEL __KF8_LIBi_buff_refline_
	ST [R1],R0
	BANKSEL _eeprom_data_TS2W_
	MOV R0,_eeprom_data_TS2W_+1
	INC R1
	BANKSEL __KF8_LIBi_buff_refline_
	ST [R1],R0 ;
	;;------------------
	BANKSEL _eeprom_data_TS2W_
	MOV R1,_eeprom_data_TS2W_
	MOV R0,_eeprom_data_TS2W_+1
	AND R0,R1
	MOV R1,#0xFF
	XOR R0,R1
	JB PSW,2 ;
	JMP FOR_DO_1_End
	BANKSEL __KF8_Touch_Bits_
	SET __KF8_Touch_Bits_,3 ;
	;
FOR_DO_1_End:
	BANKSEL _ii_buf_TS2W_
	INC _ii_buf_TS2W_
	JMP FOR_NEXT_DO_1
FOR_NEXT_DO_1_End:
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	2321; "../kf8spts2w_lib_touch_lib.c"	if(_KF8_Touch_Bits_._KF8_Touch_Need_Save_Flag)
	BANKSEL	__KF8_Touch_Bits_
	JB	__KF8_Touch_Bits_, 3
	JMP	_00067_DS_
;	op : INLINEASM
	BANKSEL _ii_buf_TS2W_
	CLR _ii_buf_TS2W_
FOR_NEXT_DO_2:
	MOV R1,# high (_CHS_AMOUNT+0)
	MOV R0,# low (_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL _ii_buf_TS2W_
	MOV R1,_ii_buf_TS2W_
	SUB R0,R1 ;
	JNB PSW,0 ;
	JMP FOR_NEXT_DO_2_End
	;;
	CLR PSW,0
	BANKSEL _ii_buf_TS2W_
	RLCR _ii_buf_TS2W_
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0 ;
	ADD R0,#(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0];;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(_Arr_erom_TS2W_+0)
	BANKSEL _Arr_erom_TS2W_
	ST [R0],R1;;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0];;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(_Arr_erom_TS2W_+1)
	BANKSEL _Arr_erom_TS2W_
	ST [R0],R1;;
	;;------------------------------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_ ;
	ADD R0,#(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0];;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+0)
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1;;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0];;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+1)
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1;;
	;;
	;;------------------------------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0, _Date_Save_Buf_TS2W_ ;
	ADD R0,#(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0];;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_refline_+0)
	BANKSEL __KF8_LIBi_buff_refline_
	ST [R0],R1;;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0];;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_refline_+1)
	BANKSEL __KF8_LIBi_buff_refline_
	ST [R0],R1;;
	;;
	;;
	BANKSEL _ii_buf_TS2W_
	INC _ii_buf_TS2W_
	JMP FOR_NEXT_DO_2
FOR_NEXT_DO_2_End:
	
;	op : CALL
;	.line	2427; "../kf8spts2w_lib_touch_lib.c"	write_eep_ts2w_(); // д׼չϵ
	PAGESEL	_write_eep_ts2w_
	CALL	_write_eep_ts2w_
	PAGESEL	$
;	op : GOTO
	JMP	_00075_DS_
;	op : LABEL
;	op : INLINEASM
_00067_DS_
	MOV R1,# high (__KF8_Inside_Reference_Channel_Order+0)
	MOV R0,# low (__KF8_Inside_Reference_Channel_Order+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	CLR PSW,0
	RLC R0
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0 ;;
	;;-------------------------------
	ADD R0,#(__KF8_LIBi_buff_hit_+0)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0] ;;
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV __KF8_Temp_Cur_A_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0] ;;
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV (__KF8_Temp_Cur_A_TS2W_+1),R1 ;;
	;;-----------------------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_refline_+0)
	BANKSEL __KF8_LIBi_buff_refline_
	LD R1,[R0] ;;
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV __KF8_Temp_Cur_B_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_refline_
	LD R1,[R0] ;;
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV (__KF8_Temp_Cur_B_TS2W_+1),R1 ;;
	;;-----------------------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+0)
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV R1,__KF8_Temp_Cur_B_TS2W_
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1;
	INC R0
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV R1,__KF8_Temp_Cur_B_TS2W_+1
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1;
	
;	op : CALL
;	.line	2486; "../kf8spts2w_lib_touch_lib.c"	_KF8spts2w_Lib_DateChange_get_();
	PAGESEL	__KF8spts2w_Lib_DateChange_get_
	CALL	__KF8spts2w_Lib_DateChange_get_
	PAGESEL	$
;	op : CALL
;	.line	2488; "../kf8spts2w_lib_touch_lib.c"	_KF8spts2w_Lib_BaseLine_Reget_();
	PAGESEL	__KF8spts2w_Lib_BaseLine_Reget_
	CALL	__KF8spts2w_Lib_BaseLine_Reget_
	PAGESEL	$
;	op : GOTO
	JMP	_00075_DS_
;	op : LABEL
;	op : CALL
_00074_DS_
;	.line	2496; "../kf8spts2w_lib_touch_lib.c"	_KF8spts2w_LIBf_scan_channel_(); //ɨADͨ,仯ʣ仯ͳ
	PAGESEL	__KF8spts2w_LIBf_scan_channel_
	CALL	__KF8spts2w_LIBf_scan_channel_
	PAGESEL	$
;	op : LABEL
;	op : INLINEASM
_00075_DS_
	MOV R1,# high (_CHS_AMOUNT+0)
	MOV R0,# low (_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBc_channel_
	INC __KF8_LIBc_channel_
	XOR R0,__KF8_LIBc_channel_
	JNB PSW,2
	CLR __KF8_LIBc_channel_
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	2523; "../kf8spts2w_lib_touch_lib.c"	if(_KF8_Touch_Bits_._KF8_Touch_Do_T3_SP)
	BANKSEL	__KF8_Touch_Bits_
	JB	__KF8_Touch_Bits_, 5
	JMP	_00077_DS_
;	op : INLINEASM
	MOVB #0x00
	CLR 0x53,5
	
;	op : GOTO
	JMP	_00078_DS_
;	op : LABEL
;	op : =
_00077_DS_
;	.line	2532; "../kf8spts2w_lib_touch_lib.c"	T3H=0;T3L=0;
	BANKSEL	_T3H
	CLR	_T3H
;	op : =
	BANKSEL	_T3L
	CLR	_T3L
;	op : LABEL
;	op : INLINEASM
_00078_DS_
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	ADD R0, # low (__KF8_TOUCH_CH_EN+0)
	MOV R1, # high (__KF8_TOUCH_CH_EN+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	ORL R0,#0x80 ;;
	BANKSEL _CTCTL0
	MOV _CTCTL0,R0
	MOV R0,#0x01
	DECJZ R0
	JMP $-1 ;
	BANKSEL __KF8_Touch_Bits_
	JNB __KF8_Touch_Bits_,4 ;
	JMP SET_START_TC_DO
	BANKSEL _T4H
	CLR _T4H
	BANKSEL _T4L
	CLR _T4L
	BANKSEL _INTCTL
	CLR _INTCTL,6
	CLR _INTCTL,7
	BANKSEL _T4CTL
	SET _T4CTL,0
SET_START_TC_DO:
	BANKSEL __KF8_Touch_Bits_
	JB __KF8_Touch_Bits_,5 ;
	JMP SET_START_TC_DO1
	BANKSEL _INTCTL
	CLR _INTCTL,6
	CLR _INTCTL,7
	MOVB #0x00
	SET 0x53,5
SET_START_TC_DO1:
	BANKSEL _CTCTL0
	SET CTCTL0,6 ;
	NOP
	JB _CTCTL0,6
	JMP $-3
	
;	op : =
;	.line	2592; "../kf8spts2w_lib_touch_lib.c"	T3IE=1; PUIE=1; AIE=1;	// ֤࣬ʩ
	BANKSEL	_EIE2_bits
	SET	_EIE2_bits, 7
;	op : =
	BANKSEL	_INTCTL_bits
	SET	_INTCTL_bits, 6
;	op : =
	BANKSEL	_INTCTL_bits
	SET	_INTCTL_bits, 7
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8spts2w_LIBf_touch_process_



func.__KF8spts2w_LIBf_scan_channel_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8spts2w_LIBf_scan_channel_	;Function start
; 2 exit points
;has an exit
;functions called:
;   __KF8spts2w_Lib_DateChange_get_
;   __KF8spts2w_Lib_BaseLine_Reget_
;   __KF8spts2w_Lib_DateChange_get_
;   __KF8spts2w_Lib_BaseLine_Reget_
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8spts2w_LIBf_scan_channel_	;Function start
; 2 exit points
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0
	
;	op : INLINEASM
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R1,_Date_Save_Buf_TS2W_
	ADD R1,#(__KF8_LIBi_buff_hit_+0)
	;;;;
	BANKSEL __KF8_LIBi_buff_hit_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV __KF8_Temp_Cur_A_TS2W_, R0
	;;;;
	INC R1
	BANKSEL __KF8_LIBi_buff_hit_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV (__KF8_Temp_Cur_A_TS2W_+1), R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R1,_Date_Save_Buf_TS2W_
	ADD R1,#(__KF8_LIBi_buff_baseline_+0)
	;;;;
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV __KF8_Temp_Cur_B_TS2W_, R0
	;;;;
	INC R1
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV (__KF8_Temp_Cur_B_TS2W_+1), R0
	
;	op : CALL
;	.line	1018; "../kf8spts2w_lib_touch_lib.c"	_KF8spts2w_Lib_DateChange_get_();
	PAGESEL	__KF8spts2w_Lib_DateChange_get_
	CALL	__KF8spts2w_Lib_DateChange_get_
	PAGESEL	$
;	op : INLINEASM
	MOV R1,#high (__KF8_Inside_Reference_Channel_Order+0)
	MOV R0,#low (__KF8_Inside_Reference_Channel_Order+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBc_channel_
	MOV R1,__KF8_LIBc_channel_
	XOR R0,R1
	JB PSW,2
	JMP NOT_Reference_Channel_Order_Deal_1
	
;	op : INLINEASM
Reference_Channel_Order_Deal_1:
	
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBi_Date_Change_+0)
	;;;;
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL _change_buf_TS2W_
	MOV _change_buf_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL _change_buf_TS2W_
	MOV _change_buf_TS2W_+1,R1
	;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	MOV R1, __KF8_lib_bahualvtemportemp_TS2W_
	BANKSEL _change_buf_TS2W_
	SUB _change_buf_TS2W_,R1
	JB PSW,0
	DEC _change_buf_TS2W_+1
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	MOV R1, __KF8_lib_bahualvtemportemp_TS2W_+1
	BANKSEL _change_buf_TS2W_
	SUB _change_buf_TS2W_+1,R1 ;
	;;-----------------------------
	BANKSEL _change_buf_TS2W_
	JB _change_buf_TS2W_+1, 7
	JMP lable_qufanover
	CPL _change_buf_TS2W_
	CPL _change_buf_TS2W_+1
	INC _change_buf_TS2W_
	JNB PSW,2
	INC _change_buf_TS2W_+1
lable_qufanover:
	;
	
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBi_Date_Change_+0)
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	MOV R1,__KF8_lib_bahualvtemportemp_TS2W_
	BANKSEL __KF8_LIBi_Date_Change_
	ST [R0],R1
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	MOV R1,__KF8_lib_bahualvtemportemp_TS2W_+1
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	ST [R0],R1
	
;	op : INLINEASM
	MOV R1,# high (__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_+0)
	MOV R0,# low (__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,#high(__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_+1)
	MOV R0,#low(__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0 ;
	;;------------------------------
	BANKSEL _change_buf_TS2W_
	MOV R0,_change_buf_TS2W_+1
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0 ;
	JMP DATE_CHANGE_BIG_FLG_DO_1
	JB PSW, 2 ;
	JMP NOT_DATE_CHANGE_BIG_FLG_DO_1
	BANKSEL _change_buf_TS2W_
	MOV R0,_change_buf_TS2W_
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0
	JMP NOT_DATE_CHANGE_BIG_FLG_DO_1
	
;	op : INLINEASM
DATE_CHANGE_BIG_FLG_DO_1:
	
;	op : =
;	.line	1143; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Protect_Flag=1;
	BANKSEL	__KF8_Touch_Bits_
	SET	__KF8_Touch_Bits_, 1
;	op : =
;	.line	1144; "../kf8spts2w_lib_touch_lib.c"	_KF8_Disturb_Protect_Circle_=0;
	BANKSEL	__KF8_Disturb_Protect_Circle_
	CLR	__KF8_Disturb_Protect_Circle_
	BANKSEL	__KF8_Disturb_Protect_Circle_
	CLR	(__KF8_Disturb_Protect_Circle_ + 1)
;	op : =
;	.line	1145; "../kf8spts2w_lib_touch_lib.c"	_KF8_Up_BaseLine_Circle_=0;
	BANKSEL	__KF8_Up_BaseLine_Circle_
	CLR	__KF8_Up_BaseLine_Circle_
	BANKSEL	__KF8_Up_BaseLine_Circle_
	CLR	(__KF8_Up_BaseLine_Circle_ + 1)
;	op : INLINEASM
	JMP DATE_CHANGE_FLG_END
	
;	op : INLINEASM
NOT_DATE_CHANGE_BIG_FLG_DO_1:
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	1157; "../kf8spts2w_lib_touch_lib.c"	if(_KF8_Touch_Bits_._KF8_Touch_Protect_Flag)
	BANKSEL	__KF8_Touch_Bits_
	JB	__KF8_Touch_Bits_, 1
	JMP	_00057_DS_
;	op : INLINEASM
	;;------------------------
	MOV R1,# high (__KF8_Disturb_Protect_Circle_Define+0)
	MOV R0,# low (__KF8_Disturb_Protect_Circle_Define+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,# high (__KF8_Disturb_Protect_Circle_Define+1)
	MOV R0,# low (__KF8_Disturb_Protect_Circle_Define+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0 ;
	;;------------------------
	BANKSEL __KF8_Disturb_Protect_Circle_
	INC __KF8_Disturb_Protect_Circle_
	JNB PSW,2
	INC __KF8_Disturb_Protect_Circle_+1 ;;
	;;-------------------------
	MOV R0,__KF8_Disturb_Protect_Circle_
	MOV R1,__KF8_Disturb_Protect_Circle_+1
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0
	JMP Protect_Time_End_Deal_Flag ;
	JB PSW,2
	JMP Protect_Time_Deal_End_Flag ;
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0 ;
	JMP Protect_Time_Deal_End_Flag
	;;--------------------
Protect_Time_End_Deal_Flag:
	BANKSEL __KF8_Disturb_Protect_Circle_
	CLR __KF8_Disturb_Protect_Circle_
	CLR __KF8_Disturb_Protect_Circle_+1 ;;
	BANKSEL __KF8_Touch_Bits_
	CLR __KF8_Touch_Bits_,1 ;
	;;--------------------
Protect_Time_Deal_End_Flag:
	
;	op : GOTO
;	.line	1211; "../kf8spts2w_lib_touch_lib.c"	if(1);
	JMP	_00058_DS_
;	op : LABEL
;	op : INLINEASM
_00057_DS_
	MOV R1,# high (__KF8_Up_BaseLine_Circle_Define+0)
	MOV R0,# low (__KF8_Up_BaseLine_Circle_Define+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,# high (__KF8_Up_BaseLine_Circle_Define+1)
	MOV R0,# low (__KF8_Up_BaseLine_Circle_Define+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0 ;
	;;----------------------------
	BANKSEL __KF8_Up_BaseLine_Circle_
	INC __KF8_Up_BaseLine_Circle_
	JNB PSW,2
	INC __KF8_Up_BaseLine_Circle_+1
	MOV R0,__KF8_Up_BaseLine_Circle_
	MOV R1,__KF8_Up_BaseLine_Circle_+1
	;;----------------------------
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0 ;;
	JMP Update_Baseline_Deal_Flag
	JB PSW,2
	JMP UP_BaseLine_End ;
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0 ;;
	JMP UP_BaseLine_End
	
;	op : INLINEASM
Update_Baseline_Deal_Flag:
	BANKSEL __KF8_Up_BaseLine_Circle_
	CLR __KF8_Up_BaseLine_Circle_
	CLR __KF8_Up_BaseLine_Circle_+1
	
;	op : CALL
;	.line	1261; "../kf8spts2w_lib_touch_lib.c"	_KF8spts2w_Lib_BaseLine_Reget_();
	PAGESEL	__KF8spts2w_Lib_BaseLine_Reget_
	CALL	__KF8spts2w_Lib_BaseLine_Reget_
	PAGESEL	$
;	op : INLINEASM
UP_BaseLine_End:
	
;	op : LABEL
;	op : INLINEASM
_00058_DS_
DATE_CHANGE_FLG_END:
	
;	op : INLINEASM
	JMP Channel_Order_Deal_END
	
;	op : INLINEASM
NOT_Reference_Channel_Order_Deal_1:
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	1285; "../kf8spts2w_lib_touch_lib.c"	if(!_KF8_Touch_Bits_._KF8_Touch_Protect_Flag)
	BANKSEL	__KF8_Touch_Bits_
	JNB	__KF8_Touch_Bits_, 1
	JMP	_00060_DS_
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBi_Date_Change_)
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	MOV R1,__KF8_lib_bahualvtemportemp_TS2W_
	BANKSEL __KF8_LIBi_Date_Change_
	ST [R0],R1
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	MOV R1,__KF8_lib_bahualvtemportemp_TS2W_+1
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	ST [R0],R1
	
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0 ;
	
;	op : INLINEASM
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_Date_Change_+0)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R1
	JNB R1,7
	JMP Key_Up_State_Flag_1
	;;-------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#Low(_CONFIG_NO_FINGER_THRESHOLD+1)
	MOV R1,#High(_CONFIG_NO_FINGER_THRESHOLD+1)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0
	JMP Key_Up_State_Flag_1
	JB PSW,2
	JMP KEY_UNDO_DEAL_1 ;
	;;===
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#Low(_CONFIG_NO_FINGER_THRESHOLD+0)
	MOV R1,#High(_CONFIG_NO_FINGER_THRESHOLD+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0
	JMP KEY_UNDO_DEAL_1
	
;	op : INLINEASM
Key_Up_State_Flag_1:
	
;	op : INLINEASM
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,# high (_TCS_AMOUNT+1)
	MOV R0,# low (_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0 ;;
	;;--------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBc_touch_count_+1)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0
	JMP Key_Down_To_Know_UP
	JB PSW,2
	JMP KEY_UNDO_END_FLAG
	DEC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0
	JMP KEY_UNDO_END_FLAG
	
;	op : INLINEASM
Key_Down_To_Know_UP:
	
;	op : INLINEASM
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,# high (_TCS_AMOUNT+1)
	MOV R0,# low (_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0
	CLR PSW,0
	RLC __KF8_LIBi_Touch_New_Date_TS2W_
	RLC __KF8_LIBi_Touch_New_Date_TS2W_+1 ;;
	;;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBc_touch_count_+1)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1, __KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0
	JMP KEY_UP_FLAG_DEAL_1
	JB PSW,2
	JMP Key_Down_To_Up_Delay
	DEC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1, __KF8_LIBi_Touch_New_Date_TS2W_
	JB PSW,0 ;
	JMP KEY_UP_FLAG_DEAL_1 ;;
	
;	op : INLINEASM
Key_Down_To_Up_Delay:
	
;	op : INLINEASM
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	ADD R1,#0x01
	ST [R0],R1
	JB PSW,0
	JMP KEY_UNDO_END_FLAG
	INC R0
	LD R1,[R0]
	INC R1
	ST [R0],R1
	JMP KEY_UNDO_END_FLAG
	
;	op : INLINEASM
KEY_UP_FLAG_DEAL_1:
	
;	op : INLINEASM
	CLR R1
	BANKSEL __KF8_LIBc_touch_count_
	ST [R0],R1
	INC R0
	ST [R0],R1
	
;	op : INLINEASM
	;;-----------------------------
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_
	ADD R0, #low (__KF8_TOUCH_CH_EN)
	MOV R1, #high (__KF8_TOUCH_CH_EN)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	;;===
	CLR PSW,0
	RLC R0
	CLR PSW,0
	RLC R0
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV __KF8_lib_Date_Uchar_Temp_TS2W_ , R0
	;;;;;;;;;;;;;;;;;;;;
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+0)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	CPL R0
	BANKSEL __KF8_LIBi_channel_flag_
	AND __KF8_LIBi_channel_flag_, R0 ;
	;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0, __KF8_lib_Date_Uchar_Temp_TS2W_
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+1)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+1)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	CPL R0
	BANKSEL __KF8_LIBi_channel_flag_
	AND (__KF8_LIBi_channel_flag_+1), R0 ;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0, __KF8_lib_Date_Uchar_Temp_TS2W_
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+2)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+2)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	CPL R0
	BANKSEL __KF8_LIBi_channel_flag_
	AND (__KF8_LIBi_channel_flag_+2), R0 ;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0, __KF8_lib_Date_Uchar_Temp_TS2W_
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+3)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+3)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	CPL R0
	BANKSEL __KF8_LIBi_channel_flag_
	AND (__KF8_LIBi_channel_flag_+3), R0 ;
	;;------------------------------------------
	JMP KEY_UNDO_END_FLAG
	
;	op : INLINEASM
	JMP KEY_UNDO_END_FLAG
	
;	op : INLINEASM
KEY_UNDO_DEAL_1:
	
;	op : INLINEASM
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,# high (_TCS_AMOUNT+1)
	MOV R0,# low (_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0
	INC __KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,2
	INC __KF8_LIBi_Touch_New_Date_TS2W_+1 ;;
	;;--------------------------------
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBc_touch_count_+1)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0 ;
	JMP Key_Up_Back_Count_DS_1
	JB PSW,2 ;
	JMP KEY_UNDO_END_FLAG
	DEC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0 ;;
	JMP KEY_UNDO_END_FLAG ;
	;;-------------------------------
	;;
Key_Up_Back_Count_DS_1:
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	ADD R1,#0xFF
	ST [R0],R1
	JNB PSW,0
	JMP KEY_UNDO_END_FLAG
	INC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	DEC R1
	ST [R0],R1
	;;
	
;	op : INLINEASM
KEY_UNDO_END_FLAG:
	
;	op : INLINEASM
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#low(__KF8_Config_Finger_Threshold+0)
	MOV R1,#high(__KF8_Config_Finger_Threshold+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#low(__KF8_Config_Finger_Threshold+1)
	MOV R1,#high(__KF8_Config_Finger_Threshold+1)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0 ;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_Date_Change_+1)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	JNB R1,7
	JMP Key_Down_Deal_No_Down_1 ;
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0 ;;
	JMP Key_Down_Deal_Down_1
	JB PSW,2 ;;
	JMP Key_Down_Deal_No_Down_1
	DEC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R1,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0 ;;
	JMP Key_Down_Deal_No_Down_1
	
;	op : INLINEASM
Key_Down_Deal_Down_1:
	
;	op : INLINEASM
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R1 ;
	MOV R1,#High(_TCS_AMOUNT+1)
	MOV R0,#Low(_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0, __KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0 ;
	JMP KEY_DOWN_DEAL_DELAY_1
	JB PSW,2 ;
	JMP Key_Down_ADD_Deal_End
	MOV R1,#High(_TCS_AMOUNT+0)
	MOV R0,#Low(_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0, __KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0 ;
	JMP Key_Down_ADD_Deal_End
	;;---------------------------
KEY_DOWN_DEAL_DELAY_1:
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBc_touch_count_)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	INC R1
	ST [R0],R1
	JB PSW,2
	JMP Key_Down_ADD_Deal_End
	INC R0
	LD R1,[R0]
	INC R1
	ST [R0],R1
	JMP Key_Down_End_Deal_1
	
;	op : INLINEASM
Key_Down_ADD_Deal_End:
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,# high (_TCS_AMOUNT+1)
	MOV R0,# low (_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0
	;;====
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#__KF8_LIBc_touch_count_
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	XOR R1,__KF8_LIBi_Touch_New_Date_TS2W_
	JB PSW,2
	JMP Key_Down_End_Deal_1
	INC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	XOR R1,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,2
	JMP Key_Down_End_Deal_1
	;;
	DEC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	ADD R1,#0x01
	ST [R0],R1
	JB PSW,0
	JMP SET_Key_Down_Flag
	INC R0
	LD R1,[R0]
	INC R1
	ST [R0],R1
SET_Key_Down_Flag:
	;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_
	ADD R0, #low (__KF8_TOUCH_CH_EN)
	MOV R1, #high (__KF8_TOUCH_CH_EN)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	CLR PSW,0
	RLC R0
	CLR PSW,0
	RLC R0
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV __KF8_lib_Date_Uchar_Temp_TS2W_ , R0
	;;;;;;;;;;;;;;;;;;;;
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+0)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	ORL __KF8_LIBi_channel_flag_,R0
	;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0, __KF8_lib_Date_Uchar_Temp_TS2W_
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+1)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+1)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	ORL (__KF8_LIBi_channel_flag_+1), R0
	;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0, __KF8_lib_Date_Uchar_Temp_TS2W_
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+2)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+2)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	ORL (__KF8_LIBi_channel_flag_+2), R0
	;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0, __KF8_lib_Date_Uchar_Temp_TS2W_
	ADD R0,#low(__KF8_LIBt_buff_bit_TS2W_+3)
	MOV R1,#high(__KF8_LIBt_buff_bit_TS2W_+3)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	ORL (__KF8_LIBi_channel_flag_+3), R0
	;;;;;;;;;;;;;;;;;;;;;
	
;	op : INLINEASM
Key_Down_End_Deal_1:
	JMP Key_Down_Deal_END
	
;	op : INLINEASM
Key_Down_Deal_No_Down_1:
	
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV __KF8_lib_Date_Uchar_Temp_TS2W_,R0 ;
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	XOR R1,#0x00
	JB PSW,2
	JMP Key_Down_count_Condition
	INC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	XOR R1,#0x00
	JNB PSW,2
	JMP Key_Down_Count_Sub_End ;
Key_Down_count_Condition:
	;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0,__KF8_lib_Date_Uchar_Temp_TS2W_
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R1 ;
	MOV R1,# high (_TCS_AMOUNT+1)
	MOV R0,# low (_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0 ;
	JMP Key_Down_count_Sub
	JB PSW,2 ;
	JMP Key_Down_Count_Sub_End
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0 ;;
	JMP Key_Down_Count_Sub_End
Key_Down_count_Sub:
	;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0,__KF8_lib_Date_Uchar_Temp_TS2W_
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	ADD R1,#0xFF
	ST [R0],R1
	JNB PSW,0
	JMP Key_Down_Count_Sub_End
	INC R0
	LD R1,[R0]
	DEC R1
	ST [R0],R1
Key_Down_Count_Sub_End:
	
;	op : INLINEASM
Key_Down_Deal_END:
	
;	op : GOTO
;	.line	1988; "../kf8spts2w_lib_touch_lib.c"	if(1);
	JMP	_00061_DS_
;	op : LABEL
;	op : INLINEASM
_00060_DS_
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBc_touch_count_)
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV __KF8_lib_Date_Uchar_Temp_TS2W_,R0 ;
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R1 ;;
	;;======
	MOV R1,# high (_TCS_AMOUNT+1)
	MOV R0,# low (_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_+1
	JB PSW,0 ;
	JMP CLR_Key_Count_Do
	JB PSW,2 ;
	JMP SET_Key_Count_Know_Just
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	SUB R0,__KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,0 ;
	JMP SET_Key_Count_Know_Just
CLR_Key_Count_Do:
	;
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R0,__KF8_lib_Date_Uchar_Temp_TS2W_
	CLR R1
	BANKSEL __KF8_LIBc_touch_count_
	ST [R0],R1
	INC R0
	ST [R0],R1
	JMP SET_Key_Count_Know_OUT_END
SET_Key_Count_Know_Just:
	;
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_,R0
	MOV R1,# high (_TCS_AMOUNT+1)
	MOV R0,# low (_TCS_AMOUNT+1)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV __KF8_LIBi_Touch_New_Date_TS2W_+1,R0
	INC __KF8_LIBi_Touch_New_Date_TS2W_
	JNB PSW,2
	INC __KF8_LIBi_Touch_New_Date_TS2W_+1
	;;==
	MOV R0,__KF8_LIBi_Touch_New_Date_TS2W_
	BANKSEL __KF8_lib_Date_Uchar_Temp_TS2W_
	MOV R1,__KF8_lib_Date_Uchar_Temp_TS2W_
	BANKSEL __KF8_LIBc_touch_count_
	ST [R1],R0
	INC R1
	BANKSEL __KF8_LIBi_Touch_New_Date_TS2W_
	MOV R0,__KF8_LIBi_Touch_New_Date_TS2W_+1
	BANKSEL __KF8_LIBc_touch_count_
	ST [R1],R0
SET_Key_Count_Know_OUT_END:
	
;	op : LABEL
;	op : INLINEASM
_00061_DS_
Channel_Order_Deal_END:
	
;	op : LABEL
;	op : ENDFUNCTION
;	.line	2090; "../kf8spts2w_lib_touch_lib.c"	if(1);
	CRET	
; exit point of __KF8spts2w_LIBf_scan_channel_



func.__KF8spts2w_LIBf_init_touch_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8spts2w_LIBf_init_touch_	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8spts2w_LIBf_init_touch_	;Function start
; 2 exit points
;	op : =
;	.line	873; "../kf8spts2w_lib_touch_lib.c"	_KF8_LIBi_channel_flag_ = 0x0000;//ʼ
	BANKSEL	__KF8_LIBi_channel_flag_
	CLR	__KF8_LIBi_channel_flag_
	BANKSEL	__KF8_LIBi_channel_flag_
	CLR	(__KF8_LIBi_channel_flag_ + 1)
	BANKSEL	__KF8_LIBi_channel_flag_
	CLR	(__KF8_LIBi_channel_flag_ + 2)
	BANKSEL	__KF8_LIBi_channel_flag_
	CLR	(__KF8_LIBi_channel_flag_ + 3)
;	op : =
;	.line	874; "../kf8spts2w_lib_touch_lib.c"	_KF8_LIBc_channel_ = 0;//ʼ
	BANKSEL	__KF8_LIBc_channel_
	CLR	__KF8_LIBc_channel_
;	op : =
;	.line	877; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Work_Flag=0; //ʼ
	BANKSEL	__KF8_Touch_Bits_
	CLR	__KF8_Touch_Bits_, 0
;	op : =
;	.line	878; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Protect_Flag=0;//ʼ
	BANKSEL	__KF8_Touch_Bits_
	CLR	__KF8_Touch_Bits_, 1
;	op : =
;	.line	879; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Need_Save_Flag=0;
	BANKSEL	__KF8_Touch_Bits_
	CLR	__KF8_Touch_Bits_, 3
;	op : =
;	.line	885; "../kf8spts2w_lib_touch_lib.c"	ii_buf_TS2W_=0;// ȿȡ
	BANKSEL	_ii_buf_TS2W_
	CLR	_ii_buf_TS2W_
;	op : INLINEASM
	MOVB #0x01
	MOV R0,#0x66
	MOV 0x4E,R0
	
;	op : =
;	.line	893; "../kf8spts2w_lib_touch_lib.c"	T3IE = 1;	T3IF = 0;
	BANKSEL	_EIE2_bits
	SET	_EIE2_bits, 7
;	op : =
	BANKSEL	_EIF2_bits
	CLR	_EIF2_bits, 7
;	op : GET_VALUE_AT_ADDRESS
;	.line	895; "../kf8spts2w_lib_touch_lib.c"	if(!_KF8_Touch_Bits_._KF8_Touch_Do_T3_SP)
	BANKSEL	__KF8_Touch_Bits_
	JNB	__KF8_Touch_Bits_, 5
	JMP	_00048_DS_
;	op : =
;	.line	897; "../kf8spts2w_lib_touch_lib.c"	T3H=0;		T3L=0;
	BANKSEL	_T3H
	CLR	_T3H
;	op : =
	BANKSEL	_T3L
	CLR	_T3L
;	op : GOTO
	JMP	_00049_DS_
;	op : LABEL
;	op : INLINEASM
_00048_DS_
	MOVB #0x00
	CLR 0x53,5
	
;	op : LABEL
;	op : INLINEASM
_00049_DS_
	MOV R0, # low (__KF8_TOUCH_CH_EN+0)
	MOV R1, # high (__KF8_TOUCH_CH_EN+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	ORL R0,#0x80 ;;
	BANKSEL _CTCTL0
	MOV _CTCTL0,R0
	MOV R0,#0x30
	DECJZ R0
	JMP $-1 ;
	BANKSEL __KF8_Touch_Bits_
	JNB __KF8_Touch_Bits_,4 ;
	JMP GO_START_TC_DO
	BANKSEL _T4H
	CLR _T4H
	BANKSEL _T4L
	CLR _T4L
	BANKSEL _INTCTL
	CLR _INTCTL,6
	CLR _INTCTL,7
	BANKSEL _T4CTL
	SET _T4CTL,0
GO_START_TC_DO:
	BANKSEL _CTCTL0
	SET CTCTL0,6 ;
	NOP
	JB CTCTL0,6
	JMP $-3
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	950; "../kf8spts2w_lib_touch_lib.c"	if(!_KF8_Touch_Bits_._KF8_Touch_Do_T3_SP)
	BANKSEL	__KF8_Touch_Bits_
	JNB	__KF8_Touch_Bits_, 5
	JMP	_00051_DS_
;	op : INLINEASM
	MOVB #0x00
	SET 0x53,5
	
;	op : LABEL
;	op : =
_00051_DS_
;	.line	959; "../kf8spts2w_lib_touch_lib.c"	PUIE = 1;	AIE = 1;
	BANKSEL	_INTCTL_bits
	SET	_INTCTL_bits, 6
;	op : =
	BANKSEL	_INTCTL_bits
	SET	_INTCTL_bits, 7
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8spts2w_LIBf_init_touch_



func.__KF8spts2w_Lib_DateChange_get_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8spts2w_Lib_DateChange_get_	;Function start
; 2 exit points
;has an exit
;functions called:
;   __divuint
;   __divuint
;5 compiler assigned registers:
;   STK02
;   STK01
;   STK00
;   r0x1017
;   r0x1018
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8spts2w_Lib_DateChange_get_	;Function start
; 2 exit points
;	op : INLINEASM
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV R0,__KF8_Temp_Cur_B_TS2W_
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	SUB __KF8_Temp_Cur_A_TS2W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV R1,(__KF8_Temp_Cur_B_TS2W_+1)
	JB PSW,0
	INC R1
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	SUB (__KF8_Temp_Cur_A_TS2W_+1),R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	JNB PSW,0
	JMP label_4_4_4
	;;
	BANKSEL __KF8_Touch_Bits_
	CLR __KF8_Touch_Bits_, 2
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	CPL __KF8_Temp_Cur_A_TS2W_
	CPL (__KF8_Temp_Cur_A_TS2W_+1)
	INC __KF8_Temp_Cur_A_TS2W_
	JNB PSW,2
	INC (__KF8_Temp_Cur_A_TS2W_+1)
	JMP label_5_5_5
label_4_4_4:
	;;
	BANKSEL __KF8_Touch_Bits_
	SET __KF8_Touch_Bits_, 2
label_5_5_5:
	
;	op : BITWISEAND
;	.line	723; "../kf8spts2w_lib_touch_lib.c"	if(_KF8_Temp_Cur_A_TS2W_<1024)  // ʱֱΪЧ̶࣬仯Ϊ󣬷򰴹ʽ
	BANKSEL	__KF8_Temp_Cur_A_TS2W_
	MOVZ	R0, (__KF8_Temp_Cur_A_TS2W_ + 1)
	AND	R0,# 0xfc
	JB	PSW, 2
	JMP	_00038_DS_
;	op : INLINEASM
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV R0,# 0x06
	INC R0
	JMP Mul_64_Flag_1
Mul_2_DO_1:
	CLR PSW, 0
	RLC __KF8_Temp_Cur_A_TS2W_
	RLC (__KF8_Temp_Cur_A_TS2W_ + 1)
Mul_64_Flag_1:
	DECJZ R0
	JMP Mul_2_DO_1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,# 0x08
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	ADD __KF8_Temp_Cur_B_TS2W_, R0
	JNB PSW, 0
	INC (__KF8_Temp_Cur_B_TS2W_ + 1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
get_lable_001:
	MOV R0,# 0x04
	INC R0
	JMP Div_16_DO_1
Div_2_DO_1:
	CLR PSW, 0
	RRC (__KF8_Temp_Cur_B_TS2W_ + 1)
	RRC __KF8_Temp_Cur_B_TS2W_
Div_16_DO_1:
	DECJZ R0
	JMP Div_2_DO_1
	
;	op : GOTO
;	.line	763; "../kf8spts2w_lib_touch_lib.c"	if(1);// Ŷλ룬ɱŻͬʱǶ߼
	JMP	_00039_DS_
;	op : LABEL
;	op : <
;unsigned compare: left < lit(0x3E80=16000), size=2
_00038_DS_
;	.line	766; "../kf8spts2w_lib_touch_lib.c"	else if(_KF8_Temp_Cur_A_TS2W_<16000)
	MOV	R0,# 0x3e
	BANKSEL	__KF8_Temp_Cur_A_TS2W_
	SUB	R0, (__KF8_Temp_Cur_A_TS2W_ + 1)
;comparing bytes at offset 1
	JB	PSW, 2
	JMP	_00046_DS_
	MOV	R0,# 0x80
	BANKSEL	__KF8_Temp_Cur_A_TS2W_
	SUB	R0, __KF8_Temp_Cur_A_TS2W_
_00046_DS_
	JNB	PSW, 0
	JMP	_00035_DS_
;	op : INLINEASM
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV R0,# 0x02
	INC R0
	JMP Mul_64_Flag_2
Mul_2_DO_2:
	CLR PSW, 0
	RLC __KF8_Temp_Cur_A_TS2W_
	RLC (__KF8_Temp_Cur_A_TS2W_ + 1)
Mul_64_Flag_2:
	DECJZ R0
	JMP Mul_2_DO_2
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,# 0x80
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	ADD __KF8_Temp_Cur_B_TS2W_, R0
	JNB PSW, 0
	INC (__KF8_Temp_Cur_B_TS2W_ + 1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
get_lable_002:
	MOV R0,(__KF8_Temp_Cur_B_TS2W_+1)
	MOV __KF8_Temp_Cur_B_TS2W_,R0
	CLR (__KF8_Temp_Cur_B_TS2W_+1)
	
;	op : GOTO
;	.line	798; "../kf8spts2w_lib_touch_lib.c"	if(1);// Ŷλ룬ɱŻͬʱǶ߼
	JMP	_00039_DS_
;	op : LABEL
;	op : INLINEASM
_00035_DS_
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	CLR PSW, 0
	RLC __KF8_Temp_Cur_A_TS2W_
	RLC (__KF8_Temp_Cur_A_TS2W_ + 1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,# 0x01
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	ADD (__KF8_Temp_Cur_B_TS2W_+1), R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	CLR PSW, 0
	MOV R0,(__KF8_Temp_Cur_B_TS2W_+1)
	RRC R0
	MOV __KF8_Temp_Cur_B_TS2W_,R0
	CLR (__KF8_Temp_Cur_B_TS2W_+1)
	
;	op : LABEL
;	op : SEND
;	op : SEND
;	op : CALL
_00039_DS_
;	.line	841; "../kf8spts2w_lib_touch_lib.c"	_KF8_lib_bahualvtemportemp_TS2W_=_KF8_Temp_Cur_A_TS2W_/_KF8_Temp_Cur_B_TS2W_;
	BANKSEL	__KF8_Temp_Cur_B_TS2W_
	MOVZ	R0, __KF8_Temp_Cur_B_TS2W_
	BANKSEL	STK02
	MOV	STK02, R0
	BANKSEL	__KF8_Temp_Cur_B_TS2W_
	MOVZ	R0, (__KF8_Temp_Cur_B_TS2W_ + 1)
	BANKSEL	STK01
	MOV	STK01, R0
	BANKSEL	__KF8_Temp_Cur_A_TS2W_
	MOVZ	R0, __KF8_Temp_Cur_A_TS2W_
	BANKSEL	STK00
	MOV	STK00, R0
	BANKSEL	__KF8_Temp_Cur_A_TS2W_
	MOVZ	R0, (__KF8_Temp_Cur_A_TS2W_ + 1)
	PAGESEL	__divuint
	CALL	__divuint
	PAGESEL	$
	BANKSEL	r0x1017
	MOV	r0x1017, R0
	BANKSEL	STK00
	MOVZ	R0, STK00
	BANKSEL	__KF8_lib_bahualvtemportemp_TS2W_
	MOV	__KF8_lib_bahualvtemportemp_TS2W_, R0
;;1	MOV	r0x1018, R0
;	op : CAST
;;99	MOVZ	R0, r0x1018
	BANKSEL	r0x1017
	MOVZ	R0, r0x1017
	BANKSEL	__KF8_lib_bahualvtemportemp_TS2W_
	MOV	(__KF8_lib_bahualvtemportemp_TS2W_ + 1), R0
;	op : INLINEASM
	BANKSEL __KF8_Touch_Bits_
	JB __KF8_Touch_Bits_,2 ;
	JMP ABS_CHANGE_END_1
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	CPL __KF8_lib_bahualvtemportemp_TS2W_
	CPL (__KF8_lib_bahualvtemportemp_TS2W_+1)
	INC __KF8_lib_bahualvtemportemp_TS2W_
	JNB PSW,2
	INC (__KF8_lib_bahualvtemportemp_TS2W_+1)
ABS_CHANGE_END_1:
	
;	op : LABEL
;	op : ENDFUNCTION
;	.line	862; "../kf8spts2w_lib_touch_lib.c"	if(1);
	CRET	
; exit point of __KF8spts2w_Lib_DateChange_get_



func.__KF8spts2w_Lib_BaseLine_Reget_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8spts2w_Lib_BaseLine_Reget_	;Function start
; 2 exit points
;has an exit
;functions called:
;   __mulint
;   __mulint
;3 compiler assigned registers:
;   STK02
;   STK01
;   STK00
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8spts2w_Lib_BaseLine_Reget_	;Function start
; 2 exit points
;	op : INLINEASM
	BANKSEL _ii_buf_TS2W_
	CLR _ii_buf_TS2W_
	;;-----------------------------
FOR_NEXT_DO_IN_Scan_1:
	MOV R1,# high (_CHS_AMOUNT+0)
	MOV R0,# low (_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL _ii_buf_TS2W_
	MOV R1,_ii_buf_TS2W_
	SUB R0,R1 ;
	JNB PSW,0 ;
	JMP FOR_NEXT_DO_IN_Scan_End
	;;-----------------------------
	
;	op : INLINEASM
	MOV R1,# high (__KF8_Inside_Reference_Channel_Order+0)
	MOV R0,# low (__KF8_Inside_Reference_Channel_Order+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	BANKSEL _ii_buf_TS2W_
	XOR R0,_ii_buf_TS2W_
	JNB PSW,2
	JMP FOR_DO_IN_Scan_End
	
;	op : INLINEASM
	;;------------------------------------
	CLR PSW,0
	RLCR _ii_buf_TS2W_
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0 ;
	;;-------------------------------------
	ADD R0,#(__KF8_LIBi_buff_refline_)
	BANKSEL __KF8_LIBi_buff_refline_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV __KF8_Temp_Cur_B_TS2W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_refline_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV (__KF8_Temp_Cur_B_TS2W_+1),R1 ;;
	;;------------------------------------
	MOV R0,#0x20
	ADD __KF8_Temp_Cur_B_TS2W_,R0
	JB PSW,0
	INC __KF8_Temp_Cur_B_TS2W_+1;
	MOV R0,#0x06 ;
	INC R0
	JMP DIV_64_Get_B_IN_Scan_001
DIV_64_Get_B_IN_Scan_002:
	CLR PSW,0
	RRC __KF8_Temp_Cur_B_TS2W_+1
	RRC __KF8_Temp_Cur_B_TS2W_
DIV_64_Get_B_IN_Scan_001:
	DECJZ R0
	JMP DIV_64_Get_B_IN_Scan_002 ;;
	
;	op : INLINEASM
	;;----------------------------------
	BANKSEL __KF8_Touch_Bits_
	CLR __KF8_Touch_Bits_,2 ;;
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	MOV R0,__KF8_lib_bahualvtemportemp_TS2W_
	MOV R1,__KF8_lib_bahualvtemportemp_TS2W_+1
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	MOV __KF8_Temp_Cur_A_TS2W_,R0
	MOV __KF8_Temp_Cur_A_TS2W_+1,R1
	BANKSEL __KF8_lib_bahualvtemportemp_TS2W_
	JB __KF8_lib_bahualvtemportemp_TS2W_+1,7
	JMP ABS_GET_DO_END_IN_Scan_1
	;;
	BANKSEL __KF8_Touch_Bits_
	SET __KF8_Touch_Bits_,2 ;;
	BANKSEL __KF8_Temp_Cur_A_TS2W_
	CPL __KF8_Temp_Cur_A_TS2W_+1
	CPL __KF8_Temp_Cur_A_TS2W_
	INC __KF8_Temp_Cur_A_TS2W_
	JNB PSW,2
	INC __KF8_Temp_Cur_A_TS2W_+1
	;----------------------------------
ABS_GET_DO_END_IN_Scan_1:
	
;	op : SEND
;	op : SEND
;	op : CALL
;	.line	506; "../kf8spts2w_lib_touch_lib.c"	_KF8_Temp_Cur_B_TS2W_*=_KF8_Temp_Cur_A_TS2W_;
	BANKSEL	__KF8_Temp_Cur_A_TS2W_
	MOVZ	R0, __KF8_Temp_Cur_A_TS2W_
	BANKSEL	STK02
	MOV	STK02, R0
	BANKSEL	__KF8_Temp_Cur_A_TS2W_
	MOVZ	R0, (__KF8_Temp_Cur_A_TS2W_ + 1)
	BANKSEL	STK01
	MOV	STK01, R0
	BANKSEL	__KF8_Temp_Cur_B_TS2W_
	MOVZ	R0, __KF8_Temp_Cur_B_TS2W_
	BANKSEL	STK00
	MOV	STK00, R0
	BANKSEL	__KF8_Temp_Cur_B_TS2W_
	MOVZ	R0, (__KF8_Temp_Cur_B_TS2W_ + 1)
	PAGESEL	__mulint
	CALL	__mulint
	PAGESEL	$
	BANKSEL	__KF8_Temp_Cur_B_TS2W_
	MOV	(__KF8_Temp_Cur_B_TS2W_ + 1), R0
	BANKSEL	STK00
	MOVZ	R0, STK00
	BANKSEL	__KF8_Temp_Cur_B_TS2W_
	MOV	__KF8_Temp_Cur_B_TS2W_, R0
;	op : INLINEASM
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV R0,#0x08
	ADD __KF8_Temp_Cur_B_TS2W_,R0 ;
	JNB PSW,0
	INC __KF8_Temp_Cur_B_TS2W_+1
	MOV R0,#0x04
	INC R0
	JMP Get_Base_DIV_16_DO_IN_Scan_1
Get_Base_DIV_16_DO_IN_Scan_2:
	CLR PSW,0
	RRC __KF8_Temp_Cur_B_TS2W_+1
	RRC __KF8_Temp_Cur_B_TS2W_
Get_Base_DIV_16_DO_IN_Scan_1:
	DECJZ R0
	JMP Get_Base_DIV_16_DO_IN_Scan_2 ;;
	
;	op : INLINEASM
	;
	CLR PSW,0
	BANKSEL _ii_buf_TS2W_
	RLCR _ii_buf_TS2W_
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0 ;
	;;
	ADD R0,#(__KF8_LIBi_buff_refline_)
	BANKSEL __KF8_LIBi_buff_refline_
	LD R1,[R0]
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_baseline_)
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1 ;;
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_refline_+1)
	BANKSEL __KF8_LIBi_buff_refline_
	LD R1,[R0]
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+1)
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1 ;;
	;;----------------------------------------
	BANKSEL __KF8_Touch_Bits_
	JB __KF8_Touch_Bits_,2 ;;
	JMP Ref_Sub_Date_DO_IN_Scan_1
	;;
	DEC R0
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	ADD R1,__KF8_Temp_Cur_B_TS2W_
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1 ;
	INC R0
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	JNB PSW,0
	INC R1
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	ADD R1,__KF8_Temp_Cur_B_TS2W_+1
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1 ;
	JMP FOR_DO_IN_Scan_End
	;;
Ref_Sub_Date_DO_IN_Scan_1:
	DEC R0
	BANKSEL _Date_Save_Buf_TS2W_
	MOV _Date_Save_Buf_TS2W_,R0;
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV R0,__KF8_Temp_Cur_B_TS2W_
	SUB R0,R1
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R1,_Date_Save_Buf_TS2W_
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R1],R0
	INC R1
	LD R0,[R1]
	JB PSW,0
	DEC R0
	BANKSEL __KF8_Temp_Cur_B_TS2W_
	MOV R1,__KF8_Temp_Cur_B_TS2W_+1
	SUB R1,R0
	BANKSEL _Date_Save_Buf_TS2W_
	MOV R0,_Date_Save_Buf_TS2W_
	INC R0
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1 ;
	
;	op : INLINEASM
FOR_DO_IN_Scan_End:
	
;	op : INLINEASM
	;
	BANKSEL _ii_buf_TS2W_
	INC _ii_buf_TS2W_
	JMP FOR_NEXT_DO_IN_Scan_1
FOR_NEXT_DO_IN_Scan_End:
	
;	op : LABEL
;	op : ENDFUNCTION
;	.line	632; "../kf8spts2w_lib_touch_lib.c"	if(1);
	CRET	
; exit point of __KF8spts2w_Lib_BaseLine_Reget_



func.__KF8spts2w_Lib_SET_MCU_Parameter	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8spts2w_Lib_SET_MCU_Parameter	;Function start
; 2 exit points
;has an exit
;1 compiler assigned register :
;   r0x101A
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8spts2w_Lib_SET_MCU_Parameter	;Function start
; 2 exit points
;	op : RECEIVE
;	.line	354; "../kf8spts2w_lib_touch_lib.c"	void _KF8spts2w_Lib_SET_MCU_Parameter(unsigned char parameterin)
	BANKSEL	r0x101A
	MOV	r0x101A, R0
;	op : >
;swapping arguments (AOP_TYPEs 1/2)
;unsigned compare: left >= lit(0x3=3), size=1
;	.line	358; "../kf8spts2w_lib_touch_lib.c"	switch(parameterin)
	MOV	R0,# 0x03
	BANKSEL	r0x101A
	SUB	R0, r0x101A
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00027_DS_
;	op : JUMPTABLE
	MOV	R0,#high _00031_DS_
	MOV	PCH, R0
	MOV	R0,#_00031_DS_
	BANKSEL	r0x101A
	ADD	R0, r0x101A
	JNB	PSW, 0
	INC	PCH
	MOV	PCL, R0
_00031_DS_
	JMP	_00022_DS_
	JMP	_00023_DS_
	JMP	_00024_DS_
;	op : LABEL
;	op : =
_00022_DS_
;	.line	362; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Get_Timer_IS_T3=1;
	BANKSEL	__KF8_Touch_Bits_
	SET	__KF8_Touch_Bits_, 4
;	op : =
;	.line	363; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Do_T3_SP=0;
	BANKSEL	__KF8_Touch_Bits_
	CLR	__KF8_Touch_Bits_, 5
;	op : GOTO
;	.line	364; "../kf8spts2w_lib_touch_lib.c"	}break;
	JMP	_00027_DS_
;	op : LABEL
;	op : =
_00023_DS_
;	.line	367; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Get_Timer_IS_T3=0;
	BANKSEL	__KF8_Touch_Bits_
	CLR	__KF8_Touch_Bits_, 4
;	op : =
;	.line	368; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Do_T3_SP=0;
	BANKSEL	__KF8_Touch_Bits_
	CLR	__KF8_Touch_Bits_, 5
;	op : GOTO
;	.line	369; "../kf8spts2w_lib_touch_lib.c"	}break;
	JMP	_00027_DS_
;	op : LABEL
;	op : =
_00024_DS_
;	.line	372; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Get_Timer_IS_T3=1;
	BANKSEL	__KF8_Touch_Bits_
	SET	__KF8_Touch_Bits_, 4
;	op : =
;	.line	373; "../kf8spts2w_lib_touch_lib.c"	_KF8_Touch_Bits_._KF8_Touch_Do_T3_SP=1;
	BANKSEL	__KF8_Touch_Bits_
	SET	__KF8_Touch_Bits_, 5
;	op : LABEL
;	op : ENDFUNCTION
_00027_DS_
;	.line	379; "../kf8spts2w_lib_touch_lib.c"	}
	CRET	
; exit point of __KF8spts2w_Lib_SET_MCU_Parameter



func._write_eep_ts2w_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  _write_eep_ts2w_	;Function start
; 2 exit points
;has an exit
;functions called:
;   _read_data_eep_ts2w_check
;   _read_data_eep_ts2w_check
;2 compiler assigned registers:
;   r0x1017
;   r0x1018
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
_write_eep_ts2w_	;Function start
; 2 exit points
;	op : =
;	.line	263; "../kf8spts2w_lib_touch_lib.c"	intctlbuf_TS2W_=INTCTL;
	BANKSEL	_INTCTL
	MOVZ	R0, _INTCTL
	BANKSEL	_intctlbuf_TS2W_
	MOV	_intctlbuf_TS2W_, R0
;	op : =
;	.line	264; "../kf8spts2w_lib_touch_lib.c"	oscctlbuf_TS2W_=OSCCTL;
	BANKSEL	_OSCCTL
	MOVZ	R0, _OSCCTL
	BANKSEL	_oscctlbuf_TS2W_
	MOV	_oscctlbuf_TS2W_, R0
;	op : INLINEASM
	BANKSEL _INTCTL
	CLR _INTCTL , _AIE
	CLR _INTCTL ,_PUIE
	JNB _INTCTL , _AIE
	JMP $-3
WRITE_EE_DO_DS_001:
	BANKSEL __KF8_Touch_Bits_
	SET __KF8_Touch_Bits_,6
	MOV R0 , #0x0F
	BANKSEL _NVMADDRH
	MOV _NVMADDRH , R0
	MOV R0 , #0xC0
	BANKSEL _NVMADDRL
	MOV _NVMADDRL , R0
	MOV R2 , #_Arr_erom_TS2W_
	
;	op : =
;	.line	286; "../kf8spts2w_lib_touch_lib.c"	OSCCTL = 0x50;
	MOV	R0,# 0x50
	BANKSEL	_OSCCTL
	MOV	_OSCCTL, R0
;	op : INLINEASM
	NOP 
;	op : INLINEASM
	NOP 
;	op : =
;	.line	290; "../kf8spts2w_lib_touch_lib.c"	for(i=0;i<16;i++)
	MOV	R0,# 0x10
	BANKSEL	r0x1018
	MOV	r0x1018, R0
	BANKSEL	r0x1017
	MOV	r0x1017, R0
;	op : LABEL
;	op : INLINEASM
_00017_DS_
	BANKSEL _Arr_erom_TS2W_
	LD R0 , [ R2 ]
	BANKSEL _NVMDATAL
	MOV _NVMDATAL,R0
	INC R2
	BANKSEL _Arr_erom_TS2W_
	LD R0 , [ R2 ]
	INC R2
	BANKSEL _NVMDATAH
	MOV _NVMDATAH,R0
	MOV R0 , #0x84
	BANKSEL _NVMCTL0
	MOV _NVMCTL0 , R0
	MOV R0 , #0x69
	BANKSEL _NVMCTL1
	MOV _NVMCTL1 , R0
	MOV R0 , #0x96
	BANKSEL _NVMCTL1
	MOV _NVMCTL1 , R0
	BANKSEL _NVMCTL0
	SET _NVMCTL0 , 1
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	MOV R0 , #0X80
	BANKSEL _NVMCTL0
	MOV _NVMCTL0,R0
	BANKSEL _NVMADDRL
	INC _NVMADDRL
	
;	op : CAST
;;100	MOVZ	R0, r0x1017
;	op : -
	BANKSEL	r0x1018
	DEC	r0x1018
;	op : CAST
	BANKSEL	r0x1018
	MOVZ	R0, r0x1018
	BANKSEL	r0x1017
	MOV	r0x1017, R0
;	op : IFX
;	.line	290; "../kf8spts2w_lib_touch_lib.c"	for(i=0;i<16;i++)
	MOV	R0,# 0x00
	BANKSEL	r0x1017
	ORL	R0, r0x1017
	JB	PSW, 2
	JMP	_00017_DS_
;	op : CALL
;	.line	336; "../kf8spts2w_lib_touch_lib.c"	read_data_eep_ts2w_check();
	PAGESEL	_read_data_eep_ts2w_check
	CALL	_read_data_eep_ts2w_check
	PAGESEL	$
;	op : INLINEASM
	BANKSEL __KF8_Touch_Bits_
	JB __KF8_Touch_Bits_,6 ;;
	JMP WRITE_EE_DO_DS_001
	
;	op : =
;	.line	343; "../kf8spts2w_lib_touch_lib.c"	OSCCTL = oscctlbuf_TS2W_;
	BANKSEL	_oscctlbuf_TS2W_
	MOVZ	R0, _oscctlbuf_TS2W_
	BANKSEL	_OSCCTL
	MOV	_OSCCTL, R0
;	op : INLINEASM
	NOP 
;	op : BITWISEAND
;	.line	345; "../kf8spts2w_lib_touch_lib.c"	intctlbuf_TS2W_&=0xC0;
	MOV	R0,# 0xc0
	BANKSEL	_intctlbuf_TS2W_
	AND	_intctlbuf_TS2W_, R0
;	op : |
;	.line	346; "../kf8spts2w_lib_touch_lib.c"	INTCTL|=intctlbuf_TS2W_;
	BANKSEL	_intctlbuf_TS2W_
	MOVZ	R0, _intctlbuf_TS2W_
	BANKSEL	_INTCTL
	ORL	_INTCTL, R0
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of _write_eep_ts2w_



func._read_data_eep_ts2w_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  _read_data_eep_ts2w_	;Function start
; 2 exit points
;has an exit
;functions called:
;   __R2PCL
;   _read_data_eep_ts2w_check
;   __R2PCL
;   _read_data_eep_ts2w_check
;2 compiler assigned registers:
;   r0x1017
;   r0x1018
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
_read_data_eep_ts2w_	;Function start
; 2 exit points
;	op : =
;	.line	188; "../kf8spts2w_lib_touch_lib.c"	intctlbuf_TS2W_=INTCTL;
	BANKSEL	_INTCTL
	MOVZ	R0, _INTCTL
	BANKSEL	_intctlbuf_TS2W_
	MOV	_intctlbuf_TS2W_, R0
;	op : =
;	.line	189; "../kf8spts2w_lib_touch_lib.c"	oscctlbuf_TS2W_=OSCCTL;
	BANKSEL	_OSCCTL
	MOVZ	R0, _OSCCTL
	BANKSEL	_oscctlbuf_TS2W_
	MOV	_oscctlbuf_TS2W_, R0
;	op : INLINEASM
	BANKSEL _INTCTL
	CLR _INTCTL,6
	CLR _INTCTL, 7
	JNB _INTCTL, 7
	JMP $-3
READ_EE_DO_DS_001:
	BANKSEL __KF8_Touch_Bits_
	SET __KF8_Touch_Bits_,6
	;;
	MOV R0,#0X0F ;BLOCK EEPROM׵ַΪ
	BANKSEL _NVMADDRH
	MOV _NVMADDRH,R0 ;
	MOV R0,#0XC0 ;
	BANKSEL _NVMADDRL
	MOV _NVMADDRL,R0 ;
	NOP
	;;
	MOV R2 , #_Arr_erom_TS2W_
	
;	op : =
;	.line	216; "../kf8spts2w_lib_touch_lib.c"	OSCCTL=0x20;
	MOV	R0,# 0x20
	BANKSEL	_OSCCTL
	MOV	_OSCCTL, R0
;	op : INLINEASM
	NOP 
;	op : INLINEASM
	NOP 
;	op : =
;	.line	220; "../kf8spts2w_lib_touch_lib.c"	for(i=0;i<CHS_AMOUNT;i++)
	BANKSEL	r0x1017
	CLR	r0x1017
;	op : LABEL
;	op : =
;gen_assign from CODESPACE
_00005_DS_
	MOV	R1,# high (_CHS_AMOUNT+0)
	MOV	R0,# low (_CHS_AMOUNT+0)
	PAGESEL	__R2PCL
	CALL	__R2PCL
	PAGESEL	$
	BANKSEL	r0x1018
	MOV	r0x1018, R0
;	op : <
	BANKSEL	r0x1018
	MOVZ	R0, r0x1018
	BANKSEL	r0x1017
	SUB	R0, r0x1017
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00008_DS_
;	op : INLINEASM
	MOV R0,#0x81
	BANKSEL _NVMCTL0
	MOV _NVMCTL0,R0
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	.DW 0XFFFF
	BANKSEL _NVMDATAL
	MOV R0,_NVMDATAL
	BANKSEL _Arr_erom_TS2W_
	ST [R2] , R0
	INC R2
	BANKSEL _NVMDATAH
	MOV R0,_NVMDATAH
	BANKSEL _Arr_erom_TS2W_
	ST [R2] , R0
	INC R2
	BANKSEL _NVMADDRL
	INC _NVMADDRL
	
;	op : +
;	.line	220; "../kf8spts2w_lib_touch_lib.c"	for(i=0;i<CHS_AMOUNT;i++)
	BANKSEL	r0x1017
	INC	r0x1017
;	op : GOTO
	JMP	_00005_DS_
;	op : LABEL
;	op : CALL
_00008_DS_
;	.line	245; "../kf8spts2w_lib_touch_lib.c"	read_data_eep_ts2w_check();
	PAGESEL	_read_data_eep_ts2w_check
	CALL	_read_data_eep_ts2w_check
	PAGESEL	$
;	op : INLINEASM
	BANKSEL __KF8_Touch_Bits_
	JB __KF8_Touch_Bits_,6 ;;
	JMP READ_EE_DO_DS_001
	
;	op : =
;	.line	253; "../kf8spts2w_lib_touch_lib.c"	OSCCTL = oscctlbuf_TS2W_;
	BANKSEL	_oscctlbuf_TS2W_
	MOVZ	R0, _oscctlbuf_TS2W_
	BANKSEL	_OSCCTL
	MOV	_OSCCTL, R0
;	op : INLINEASM
	NOP 
;	op : BITWISEAND
;	.line	255; "../kf8spts2w_lib_touch_lib.c"	intctlbuf_TS2W_&=0xC0;
	MOV	R0,# 0xc0
	BANKSEL	_intctlbuf_TS2W_
	AND	_intctlbuf_TS2W_, R0
;	op : |
;	.line	256; "../kf8spts2w_lib_touch_lib.c"	INTCTL|=intctlbuf_TS2W_;
	BANKSEL	_intctlbuf_TS2W_
	MOVZ	R0, _intctlbuf_TS2W_
	BANKSEL	_INTCTL
	ORL	_INTCTL, R0
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of _read_data_eep_ts2w_



func._read_data_eep_ts2w_check	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  _read_data_eep_ts2w_check	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
_read_data_eep_ts2w_check	;Function start
; 2 exit points
;	op : INLINEASM
	MOV R0,#0X0F ;BLOCK EEPROM׵ַΪ
	BANKSEL _NVMADDRH
	MOV _NVMADDRH,R0 ;
	MOV R0,#0XC0 ;
	BANKSEL _NVMADDRL
	MOV _NVMADDRL,R0 ;
	NOP
	MOV R2 , #_Arr_erom_TS2W_Check
	
;	op : INLINEASM
	MOV R1,#high(_CHS_AMOUNT+0)
	MOV R0,#low(_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL_TS2W_
	CALL __R2PCHPCL_TS2W_
	PAGESEL $
	MOV R5,R0 ;
	MOV R4,R0 ;
	
;	op : INLINEASM
DO_CHECK_IN_READ:
	BANKSEL _NVMCTL0
	MOV R0,#0x81
	MOV _NVMCTL0,R0
	.DW 0XFFFF
	.DW 0XFFFF
	BANKSEL _NVMDATAL
	MOV R0,_NVMDATAL
	BANKSEL _Arr_erom_TS2W_Check
	ST [R2] , R0
	INC R2
	BANKSEL _NVMDATAH
	MOV R0,_NVMDATAH
	BANKSEL _Arr_erom_TS2W_Check
	ST [R2] , R0
	INC R2
	BANKSEL _NVMADDRL
	INC _NVMADDRL
	DECJZ R5
	JMP DO_CHECK_IN_READ
	
;	op : INLINEASM
	MOV R2,#_Arr_erom_TS2W_
	MOV R3,#_Arr_erom_TS2W_Check
DO_CHECK_IN_CHECK:
	BANKSEL _Arr_erom_TS2W_Check
	MOV R1 ,R3
	LD R0,[R1]
	MOV R5,R0
	BANKSEL _Arr_erom_TS2W_
	MOV R1,R2
	LD R0,[R1]
	XOR R0,R5
	JNB PSW,2
	JMP DO_CHECK_High
	BANKSEL __KF8_Touch_Bits_
	CLR __KF8_Touch_Bits_,6 ;;
DO_CHECK_High:
	INC R2
	INC R3
	BANKSEL _Arr_erom_TS2W_Check
	MOV R1 ,R3
	LD R0,[R1]
	MOV R5,R0
	BANKSEL _Arr_erom_TS2W_
	MOV R1,R2
	LD R0,[R1]
	XOR R0,R5
	JNB PSW,2
	JMP DO_CHECK_NEXT
	BANKSEL __KF8_Touch_Bits_
	CLR __KF8_Touch_Bits_,6 ;;
	;;
DO_CHECK_NEXT:
	INC R2
	INC R3
	DECJZ R4
	JMP DO_CHECK_IN_CHECK
	
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of _read_data_eep_ts2w_check



func.__R2PCHPCL_TS2W_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __R2PCHPCL_TS2W_	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__R2PCHPCL_TS2W_	;Function start
; 2 exit points
;	op : INLINEASM
	MOV PCH,R1
	MOV PCL,R0
	
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __R2PCHPCL_TS2W_


;	code size estimation:
;	  217+  107 =   324 instructions (  862 byte)


	.end
